import Vue from 'vue'
// 根组件
import App from './App.vue'
// 路由
import router from './router'

import axios from 'axios'
// vuex
import store from './store'

// 公共样式
import "./style/base.less"
// 如果有字体图标，就导入
// import './style/iconfont.css'
// 配置rem模块
// import 'lib-flexible'
// 配置px转rem模块
// import 'postcss-px2rem'

// -----------------------全局组件---------------------------
// import hmHeader from './components/Hm-header.vue'
// Vue.component('hm-header', hmHeader)
// import hmLogo from './components/Hm-logo.vue'
// Vue.component('hm-logo', hmLogo)

// --------------------全局导入element-ui---------------------
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

// -------------------------国际化------------------------------
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n({
  locale: 'zh',
  messages: {
    'zh': require('./VueI18n/language-zh'),
    'en': require('./VueI18n/language-en')
  }
})

//-------------------------全局事件过滤-------------------------
// 时间过滤
// import moment from 'moment'
// Vue.filter('date', function (input, format = 'YYYY--MM--DD') {
//     return moment(input).format(format)
// })

// Vue.filter('date2', input => {
//     // console.log(input);
//     const d = new Date(input)
//     const now = new Date()
//     const hour = ((now - d) / 1000 / 60 / 60) | 0
//     if (hour < 1) {
//         return "1小时内"
//     } else if (hour < 24) {
//         return hour + '小时前'
//     } else {
//         return moment(input).format('YYYY-MM-DD HH-mm-ss')
//     }

// })

// ------------------------axios基础路径------------------
axios.defaults.baseURL = 'http://10.11.29.225'

//-------------------------使用原型配置全局axios-----------------
Vue.prototype.$axios = axios
Vue.config.productionTip = false

// -----------------------------响应拦截器----------------------
// axios.interceptors.response.use(function (res) {
//   //对失效的token进行处理
//   const { statusCode, message } = res.data
//   if (statusCode === 401 && message === "用户信息验证失败") {
//     //说明token验证是失效的
//     router.push('/login')
//     //删除失效的token和user_id
//     localStorage.removeItem('token')
//     localStorage.removeItem('user_id')
//     
//   }
//   return res;
// })

// ------------------------------请求拦截器-------------------
axios.interceptors.request.use(function (config) {
  const token = localStorage.getItem('token')
  if (token) {
    config.headers.Authorization = token
  }
  return config
})

new Vue({
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app')